ruby设计模式之观察者模式1

您所在的位置:网站首页 ruby 设计模式 ruby设计模式之观察者模式1

ruby设计模式之观察者模式1

2024-07-01 23:51| 来源: 网络整理| 查看: 265

观察者模式应该是最容易理解的设计模式了。

考虑这个例子。作为雇员的你当工资发生改变的时候你会想到什么?

请朋友吃饭?给女朋友买衣服?给自己买台Iphone4?

很可惜,你所增加的那点可怜的工资恐怕难以支持你做以上这些事情吧。

当你工资增加之后,你的个人所得税理所当然的增加了;你的住房公积金提高了;你的社保不出意外也要多交了。剩下来的那点应该也不够塞牙了。

这个理应是喜剧的杯具中实际上包含了观察者模式的基本概念。在这个例子中,社保局、税务局实际上是你的观察者。当你的工资发生变化时,你(一般来说是你的雇主)会通知有关部门,以便有关部门能够根据你的收入调整税收或社保政策。

下面的代码(使用ruby1.9实现,1.8y应该有问题)比较简单的实现了上面这个杯具:

#encoding: utf-8 class Tester attr_reader :name, :title, :salary def initialize name, title, salary @name = name @title = title @salary = salary @observers = [] end def salary=new_salary @salary = new_salary notify_observers end def notify_observers @observers.each do |ob| ob.update self end end def add_observer ob @observers


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3